home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Displays.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  27.7 KB  |  673 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1993-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Displays;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __DISPLAYS__}
  27. {$SETC __DISPLAYS__ := 1}
  28.  
  29. {$I+}
  30. {$SETC DisplaysIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __CONDITIONALMACROS__}
  34. {$I ConditionalMacros.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __COMPONENTS__}
  37. {$I Components.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __VIDEO__}
  40. {$I Video.p}
  41. {$ENDC}
  42.  
  43. {$IFC UNDEFINED __APPLEEVENTS__}
  44. {$I AppleEvents.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __EVENTS__}
  47. {$I Events.p}
  48. {$ENDC}
  49. {$IFC UNDEFINED __PROCESSES__}
  50. {$I Processes.p}
  51. {$ENDC}
  52. {$IFC UNDEFINED __DIALOGS__}
  53. {$I Dialogs.p}
  54. {$ENDC}
  55.  
  56. {$PUSH}
  57. {$ALIGN MAC68K}
  58. {$LibExport+}
  59.  
  60. {$IFC UNDEFINED FOR_GLUE_LIB }
  61. {$SETC FOR_GLUE_LIB := 0 }
  62. {$ENDC}
  63.  
  64. {$IFC UNDEFINED FOR_68kGLUE_LIB }
  65. {$SETC FOR_68kGLUE_LIB := 0 }
  66. {$ENDC}
  67.  
  68.  
  69. CONST
  70.                                                                 {  AppleEvents Core Suite  }
  71.     kAESystemConfigNotice        = 'cnfg';                        {  Core Suite types  }
  72.     kAEDisplayNotice            = 'dspl';
  73.     kAEDisplaySummary            = 'dsum';
  74.     keyDMConfigVersion            = 'dmcv';
  75.     keyDMConfigFlags            = 'dmcf';
  76.     keyDMConfigReserved            = 'dmcr';
  77.     keyDisplayID                = 'dmid';
  78.     keyDisplayComponent            = 'dmdc';
  79.     keyDisplayDevice            = 'dmdd';
  80.     keyDisplayFlags                = 'dmdf';
  81.     keyDisplayMode                = 'dmdm';
  82.     keyDisplayModeReserved        = 'dmmr';
  83.     keyDisplayReserved            = 'dmdr';
  84.     keyDisplayMirroredId        = 'dmmi';
  85.     keyDeviceFlags                = 'dddf';
  86.     keyDeviceDepthMode            = 'dddm';
  87.     keyDeviceRect                = 'dddr';
  88.     keyPixMapRect                = 'dpdr';
  89.     keyPixMapHResolution        = 'dphr';
  90.     keyPixMapVResolution        = 'dpvr';
  91.     keyPixMapPixelType            = 'dppt';
  92.     keyPixMapPixelSize            = 'dpps';
  93.     keyPixMapCmpCount            = 'dpcc';
  94.     keyPixMapCmpSize            = 'dpcs';
  95.     keyPixMapAlignment            = 'dppa';
  96.     keyPixMapResReserved        = 'dprr';
  97.     keyPixMapReserved            = 'dppr';
  98.     keyPixMapColorTableSeed        = 'dpct';
  99.     keySummaryMenubar            = 'dsmb';
  100.     keySummaryChanges            = 'dsch';
  101.     keyDisplayOldConfig            = 'dold';
  102.     keyDisplayNewConfig            = 'dnew';
  103.  
  104.     dmOnlyActiveDisplays        = true;
  105.     dmAllDisplays                = false;
  106.  
  107.  
  108.                                                                 {  DMSendDependentNotification notifyClass  }
  109.     kDependentNotifyClassShowCursor = 'shcr';                    {  When display mgr shows a hidden cursor during an unmirror  }
  110.     kDependentNotifyClassDriverOverride = 'ndrv';                {  When a driver is overridden  }
  111.     kDependentNotifyClassDisplayMgrOverride = 'dmgr';            {  When display manager is upgraded  }
  112.     kDependentNotifyClassProfileChanged = 'prof';                {  When DMSetProfileByAVID is called  }
  113.  
  114.  
  115.                                                                 {  Switch Flags  }
  116.     kNoSwitchConfirmBit            = 0;                            {  Flag indicating that there is no need to confirm a switch to this mode  }
  117.     kDepthNotAvailableBit        = 1;                            {  Current depth not available in new mode  }
  118.     kShowModeBit                = 3;                            {  Show this mode even though it requires a confirm.  }
  119.     kModeNotResizeBit            = 4;                            {  Do not use this mode to resize display (for cards that mode drives a different connector).  }
  120.     kNeverShowModeBit            = 5;                            {  This mode should not be shown in the user interface.  }
  121.  
  122. {    Summary Change Flags (sticky bits indicating an operation was performed)
  123.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  124. }
  125.     kBeginEndConfigureBit        = 0;
  126.     kMovedDisplayBit            = 1;
  127.     kSetMainDisplayBit            = 2;
  128.     kSetDisplayModeBit            = 3;
  129.     kAddDisplayBit                = 4;
  130.     kRemoveDisplayBit            = 5;
  131.     kNewDisplayBit                = 6;
  132.     kDisposeDisplayBit            = 7;
  133.     kEnabledDisplayBit            = 8;
  134.     kDisabledDisplayBit            = 9;
  135.     kMirrorDisplayBit            = 10;
  136.     kUnMirrorDisplayBit            = 11;
  137.  
  138.  
  139.                                                                 {  Notification Messages for extended call back routines  }
  140.     kDMNotifyInstalled            = 1;                            {  At install time  }
  141.     kDMNotifyEvent                = 2;                            {  Post change time  }
  142.     kDMNotifyRemoved            = 3;                            {  At remove time  }
  143.     kDMNotifyPrep                = 4;                            {  Pre change time  }
  144.     kDMNotifyExtendEvent        = 5;                            {  Allow registrees to extend apple event before it is sent  }
  145.     kDMNotifyDependents            = 6;                            {  Minor notification check without full update  }
  146.     kDMNotifySuspendConfigure    = 7;                            {  Temporary end of configuration  }
  147.     kDMNotifyResumeConfigure    = 8;                            {  Resume configuration  }
  148.     kDMNotifyRequestDisplayProbe = 9;                            {  Request smart displays re-probe (used in sleep and hot plugging)  }
  149.                                                                 {  Notification Flags  }
  150.     kExtendedNotificationProc    = $00010000;
  151.  
  152.  
  153. { types for notifyType }
  154.     kFullNotify                    = 0;                            {  This is the appleevent whole nine yards notify  }
  155.     kFullDependencyNotify        = 1;                            {  Only sends to those who want to know about interrelated functionality (used for updating UI)  }
  156.  
  157. { DisplayID/DeviceID constants }
  158.     kDummyDeviceID                = $00FF;                        {  This is the ID of the dummy display, used when the last “real” display is disabled. }
  159.     kInvalidDisplayID            = $0000;                        {  This is the invalid ID }
  160.     kFirstDisplayID                = $0100;
  161.  
  162.                                                                 {  bits for panelListFlags  }
  163.     kAllowDuplicatesBit            = 0;
  164.  
  165.                                                                 {  bits for nameFlags  }
  166.     kSuppressNumberBit            = 0;
  167.     kSuppressNumberMask            = 1;
  168.     kForceNumberBit                = 1;
  169.     kForceNumberMask            = 2;
  170.     kSuppressNameBit            = 2;
  171.     kSuppressNameMask            = 4;
  172.  
  173.  
  174.  
  175. { Constants for fidelity checks }
  176.     kNoFidelity                    = 0;
  177.     kMinimumFidelity            = 1;
  178.     kDefaultFidelity            = 500;                            {  I'm just picking a number for Apple default panels and engines }
  179.     kDefaultManufacturerFidelity = 1000;                        {  I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults) }
  180.  
  181.     kAnyPanelType                = 0;                            {  Pass to DMNewEngineList for list of all panels (as opposed to specific types) }
  182.     kAnyEngineType                = 0;                            {  Pass to DMNewEngineList for list of all engines }
  183.     kAnyDeviceType                = 0;                            {  Pass to DMNewDeviceList for list of all devices }
  184.     kAnyPortType                = 0;                            {  Pass to DMNewDevicePortList for list of all devices }
  185.  
  186. { portListFlags for DM_NewDevicePortList }
  187.                                                                 {  Should offline devices be put into the port list (such as dummy display)  }
  188.     kPLIncludeOfflineDevicesBit    = 0;
  189.  
  190.  
  191. { confirmFlags for DMConfirmConfiguration }
  192.     kForceConfirmBit            = 0;                            {  Force a confirm dialog  }
  193.     kForceConfirmMask            = $01;
  194.  
  195.  
  196. { Flags for displayModeFlags }
  197.     kDisplayModeListNotPreferredBit = 0;
  198.     kDisplayModeListNotPreferredMask = $01;
  199.  
  200.  
  201. { Flags for itemFlags }
  202.     kComponentListNotPreferredBit = 0;
  203.     kComponentListNotPreferredMask = $01;
  204.  
  205.     kDisplayTimingInfoVersionZero = 1;
  206.     kDisplayTimingInfoReservedCountVersionZero = 16;
  207.     kDisplayModeEntryVersionZero = 0;                            {  displayModeVersion - original version }
  208.     kDisplayModeEntryVersionOne    = 1;                            {  displayModeVersion - added displayModeOverrideInfo }
  209.  
  210.  
  211.     kMakeAndModelReservedCount    = 4;                            {  Number of reserved fields }
  212.  
  213.  
  214. TYPE
  215.     DMFidelityType                        = UInt32;
  216. {
  217.    AVID is an ID for ports and devices the old DisplayID type
  218.       is carried on for compatibility
  219. }
  220.  
  221.     AVIDType                            = UInt32;
  222.     DisplayIDType                        = AVIDType;
  223.     DMListType                            = Ptr;
  224.     DMListIndexType                        = UInt32;
  225.     AVPowerStateRec                        = VDPowerStateRec;
  226.     AVPowerStateRecPtr                     = ^AVPowerStateRec;
  227.     AVPowerStatePtr                        = ^VDPowerStateRec;
  228.     DMDisplayTimingInfoRecPtr = ^DMDisplayTimingInfoRec;
  229.     DMDisplayTimingInfoRec = RECORD
  230.         timingInfoVersion:        UInt32;
  231.         timingInfoAttributes:    UInt32;                                    {  Flags  }
  232.         timingInfoRelativeQuality: SInt32;                                {  quality of the timing  }
  233.         timingInfoRelativeDefault: SInt32;                                {  relative default of the timing  }
  234.         timingInfoReserved:        ARRAY [0..15] OF UInt32;                {  Reserved  }
  235.     END;
  236.  
  237.     DMDisplayTimingInfoPtr                = ^DMDisplayTimingInfoRec;
  238.  
  239.     DMComponentListEntryRecPtr = ^DMComponentListEntryRec;
  240.     DMComponentListEntryRec = RECORD
  241.         itemID:                    DisplayIDType;                            {  DisplayID Manager }
  242.         itemComponent:            Component;                                {  Component Manager }
  243.         itemDescription:        ComponentDescription;                    {  We can always construct this if we use something beyond the compontent mgr. }
  244.         itemClass:                ResType;                                {  Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices) }
  245.         itemFidelity:            DMFidelityType;                            {  How good is this item for the specified search? }
  246.         itemSubClass:            ResType;                                {  Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel) }
  247.         itemSort:                Point;                                    {  Set to 0 - future to sort the items in a sub group. }
  248.         itemFlags:                UInt32;                                    {  Set to 0 (future expansion) }
  249.         itemReserved:            ResType;                                {  What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only) }
  250.         itemFuture1:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  251.         itemFuture2:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  252.         itemFuture3:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  253.         itemFuture4:            UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  254.     END;
  255.  
  256.     DMComponentListEntryPtr                = ^DMComponentListEntryRec;
  257. {  ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created }
  258.     AVLocationRecPtr = ^AVLocationRec;
  259.     AVLocationRec = RECORD
  260.         locationConstant:        UInt32;                                    {  Set to 0 (future expansion - probably an alternate code style) }
  261.     END;
  262.  
  263.     AVLocationPtr                        = ^AVLocationRec;
  264.     DMDepthInfoRecPtr = ^DMDepthInfoRec;
  265.     DMDepthInfoRec = RECORD
  266.         depthSwitchInfo:        VDSwitchInfoPtr;                        {  This is the switch mode to choose this timing/depth  }
  267.         depthVPBlock:            VPBlockPtr;                                {  VPBlock (including size, depth and format)  }
  268.         depthFlags:                UInt32;                                    {  VDVideoParametersInfoRec.csDepthFlags   }
  269.         depthReserved1:            UInt32;                                    {  Reserved  }
  270.         depthReserved2:            UInt32;                                    {  Reserved  }
  271.     END;
  272.  
  273.     DMDepthInfoPtr                        = ^DMDepthInfoRec;
  274.     DMDepthInfoBlockRecPtr = ^DMDepthInfoBlockRec;
  275.     DMDepthInfoBlockRec = RECORD
  276.         depthBlockCount:        UInt32;                                    {  How many depths are there?  }
  277.         depthVPBlock:            DMDepthInfoPtr;                            {  Array of DMDepthInfoRec  }
  278.         depthBlockFlags:        UInt32;                                    {  Reserved  }
  279.         depthBlockReserved1:    UInt32;                                    {  Reserved  }
  280.         depthBlockReserved2:    UInt32;                                    {  Reserved  }
  281.     END;
  282.  
  283.     DMDepthInfoBlockPtr                    = ^DMDepthInfoBlockRec;
  284.     DMDisplayModeListEntryRecPtr = ^DMDisplayModeListEntryRec;
  285.     DMDisplayModeListEntryRec = RECORD
  286.         displayModeFlags:        UInt32;
  287.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  288.         displayModeResolutionInfo: VDResolutionInfoPtr;
  289.         displayModeTimingInfo:    VDTimingInfoPtr;
  290.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    {  Information about all the depths }
  291.         displayModeVersion:        UInt32;                                    {  What version is this record (now kDisplayModeEntryVersionOne) }
  292.         displayModeName:        StringPtr;                                {  Name of the timing mode }
  293.         displayModeDisplayInfo:    DMDisplayTimingInfoPtr;                    {  Information from the display. }
  294.     END;
  295.  
  296.     DMDisplayModeListEntryPtr            = ^DMDisplayModeListEntryRec;
  297.  
  298.     DependentNotifyRecPtr = ^DependentNotifyRec;
  299.     DependentNotifyRec = RECORD
  300.         notifyType:                ResType;                                {  What type was the engine that made the change (may be zero) }
  301.         notifyClass:            ResType;                                {  What class was the change (eg geometry, color etc) }
  302.         notifyPortID:            DisplayIDType;                            {  Which device was touched (kInvalidDisplayID -> all or none) }
  303.         notifyComponent:        ComponentInstance;                        {  What engine did it (may be 0)? }
  304.         notifyVersion:            UInt32;                                    {  Set to 0 (future expansion) }
  305.         notifyFlags:            UInt32;                                    {  Set to 0 (future expansion) }
  306.         notifyReserved:            UInt32;                                    {  Set to 0 (future expansion) }
  307.         notifyFuture:            UInt32;                                    {  Set to 0 (future expansion) }
  308.     END;
  309.  
  310.     DependentNotifyPtr                    = ^DependentNotifyRec;
  311.  
  312.     DMMakeAndModelRecPtr = ^DMMakeAndModelRec;
  313.     DMMakeAndModelRec = RECORD
  314.         manufacturer:            ResType;
  315.         model:                    UInt32;
  316.         serialNumber:            UInt32;
  317.         manufactureDate:        UInt32;
  318.         makeReserved:            ARRAY [0..3] OF UInt32;
  319.     END;
  320.  
  321.     DMMakeAndModelPtr                    = ^DMMakeAndModelRec;
  322.  
  323. { Exports to support Interfaces library containing unused calls }
  324. {$IFC NOT FOR_GLUE_LIB }
  325. {$ENDC}
  326.  
  327. {$IFC TYPED_FUNCTION_POINTERS}
  328.     DMNotificationProcPtr = PROCEDURE(VAR theEvent: AppleEvent);
  329. {$ELSEC}
  330.     DMNotificationProcPtr = ProcPtr;
  331. {$ENDC}
  332.  
  333. {$IFC TYPED_FUNCTION_POINTERS}
  334.     DMExtendedNotificationProcPtr = PROCEDURE(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr);
  335. {$ELSEC}
  336.     DMExtendedNotificationProcPtr = ProcPtr;
  337. {$ENDC}
  338.  
  339. {$IFC TYPED_FUNCTION_POINTERS}
  340.     DMComponentListIteratorProcPtr = PROCEDURE(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr);
  341. {$ELSEC}
  342.     DMComponentListIteratorProcPtr = ProcPtr;
  343. {$ENDC}
  344.  
  345. {$IFC TYPED_FUNCTION_POINTERS}
  346.     DMDisplayModeListIteratorProcPtr = PROCEDURE(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr);
  347. {$ELSEC}
  348.     DMDisplayModeListIteratorProcPtr = ProcPtr;
  349. {$ENDC}
  350.  
  351.     DMNotificationUPP = UniversalProcPtr;
  352.     DMExtendedNotificationUPP = UniversalProcPtr;
  353.     DMComponentListIteratorUPP = UniversalProcPtr;
  354.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  355.  
  356. CONST
  357.     uppDMNotificationProcInfo = $000000C0;
  358.     uppDMExtendedNotificationProcInfo = $00000EC0;
  359.     uppDMComponentListIteratorProcInfo = $00000FC0;
  360.     uppDMDisplayModeListIteratorProcInfo = $00000FC0;
  361.  
  362. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  363.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  364.     INLINE $2E9F;
  365.     {$ENDC}
  366.  
  367. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  368.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  369.     INLINE $2E9F;
  370.     {$ENDC}
  371.  
  372. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  373.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  374.     INLINE $2E9F;
  375.     {$ENDC}
  376.  
  377. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  378.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  379.     INLINE $2E9F;
  380.     {$ENDC}
  381.  
  382. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  383.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  384.     INLINE $205F, $4E90;
  385.     {$ENDC}
  386.  
  387. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  388.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  389.     INLINE $205F, $4E90;
  390.     {$ENDC}
  391.  
  392. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  393.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  394.     INLINE $205F, $4E90;
  395.     {$ENDC}
  396.  
  397. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  398.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  399.     INLINE $205F, $4E90;
  400.     {$ENDC}
  401.  
  402. { Trap interfaces }
  403.  
  404. {$IFC NOT FOR_GLUE_LIB }
  405. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  406.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  407.     INLINE $7000, $ABEB;
  408.     {$ENDC}
  409. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  410.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  411.     INLINE $7001, $ABEB;
  412.     {$ENDC}
  413. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  414.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  415.     INLINE $7002, $ABEB;
  416.     {$ENDC}
  417. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  418.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  419.     INLINE $7003, $ABEB;
  420.     {$ENDC}
  421.  
  422.  
  423. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  424.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  425.     INLINE $303C, $0206, $ABEB;
  426.     {$ENDC}
  427. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  428.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  429.     INLINE $303C, $0207, $ABEB;
  430.     {$ENDC}
  431. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: UInt32; reserved: UInt32; displayID: UInt32; displayComponent: Component; displayState: Handle): OSErr;
  432.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  433.     INLINE $303C, $0D08, $ABEB;
  434.     {$ENDC}
  435. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  436.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  437.     INLINE $303C, $0609, $ABEB;
  438.     {$ENDC}
  439. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  440.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  441.     INLINE $303C, $040A, $ABEB;
  442.     {$ENDC}
  443. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  444.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  445.     INLINE $303C, $040B, $ABEB;
  446.     {$ENDC}
  447. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  448.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  449.     INLINE $303C, $040C, $ABEB;
  450.     {$ENDC}
  451.  
  452.  
  453.  
  454. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  455.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  456.     INLINE $303C, $0410, $ABEB;
  457.     {$ENDC}
  458. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: UInt32; VAR depthMode: UInt32; reserved: UInt32; displayState: Handle): OSErr;
  459.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  460.     INLINE $303C, $0A11, $ABEB;
  461.     {$ENDC}
  462. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: UInt32; depthMode: UInt32; VAR switchFlags: UInt32; reserved: UInt32; VAR modeOk: BOOLEAN): OSErr;
  463.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  464.     INLINE $303C, $0C12, $ABEB;
  465.     {$ENDC}
  466. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  467.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  468.     INLINE $303C, $0213, $ABEB;
  469.     {$ENDC}
  470. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  471.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  472.     INLINE $303C, $0414, $ABEB;
  473.     {$ENDC}
  474. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  475.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  476.     INLINE $303C, $0415, $ABEB;
  477.     {$ENDC}
  478.  
  479. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  480.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  481.     INLINE $303C, $0216, $ABEB;
  482.     {$ENDC}
  483. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  484.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  485.     INLINE $303C, $0217, $ABEB;
  486.     {$ENDC}
  487. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  488.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  489.     INLINE $303C, $0218, $ABEB;
  490.     {$ENDC}
  491. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  492.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  493.     INLINE $303C, $0619, $ABEB;
  494.     {$ENDC}
  495. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  496.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  497.     INLINE $303C, $041A, $ABEB;
  498.     {$ENDC}
  499. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  500.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  501.     INLINE $303C, $041B, $ABEB;
  502.     {$ENDC}
  503. FUNCTION DMBlockMirroring: OSErr;
  504.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  505.     INLINE $701C, $ABEB;
  506.     {$ENDC}
  507. FUNCTION DMUnblockMirroring: OSErr;
  508.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  509.     INLINE $701D, $ABEB;
  510.     {$ENDC}
  511. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  512.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  513.     INLINE $303C, $021E, $ABEB;
  514.     {$ENDC}
  515. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  516.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  517.     INLINE $303C, $051F, $ABEB;
  518.     {$ENDC}
  519. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  520.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  521.     INLINE $303C, $0520, $ABEB;
  522.     {$ENDC}
  523. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  524.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  525.     INLINE $303C, $0421, $ABEB;
  526.     {$ENDC}
  527. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  528.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  529.     INLINE $303C, $0422, $ABEB;
  530.     {$ENDC}
  531. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: UInt32; reserved: UInt32; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  532.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  533.     INLINE $303C, $0D23, $ABEB;
  534.     {$ENDC}
  535. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  536.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  537.     INLINE $303C, $0424, $ABEB;
  538.     {$ENDC}
  539. FUNCTION DMResolveDisplayComponents: OSErr;
  540.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  541.     INLINE $7025, $ABEB;
  542.     {$ENDC}
  543. {$ENDC}
  544.  
  545. {$IFC NOT FOR_68kGLUE_LIB }
  546. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: UInt16; whichPSN: ProcessSerialNumberPtr): OSErr;
  547.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  548.     INLINE $303C, $07EF, $ABEB;
  549.     {$ENDC}
  550. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: UInt16): OSErr;
  551.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  552.     INLINE $303C, $0726, $ABEB;
  553.     {$ENDC}
  554. {$ENDC}
  555.  
  556. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: UInt32; reserved: UInt32; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  557.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  558.     INLINE $303C, $0C27, $ABEB;
  559.     {$ENDC}
  560. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: UInt32; reserved: UInt32; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  561.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  562.     INLINE $303C, $0C28, $ABEB;
  563.     {$ENDC}
  564. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: UInt32; reserved: UInt32; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  565.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  566.     INLINE $303C, $0A29, $ABEB;
  567.     {$ENDC}
  568. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: UInt32; reserved: UInt32; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  569.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  570.     INLINE $303C, $0A2A, $ABEB;
  571.     {$ENDC}
  572. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  573.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  574.     INLINE $303C, $0A2B, $ABEB;
  575.     {$ENDC}
  576. {$IFC NOT FOR_68kGLUE_LIB }
  577. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  578.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  579.     INLINE $303C, $022C, $ABEB;
  580.     {$ENDC}
  581. {$ENDC}
  582.  
  583. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: UInt32; VAR name: Str255): OSErr;
  584.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  585.     INLINE $303C, $062D, $ABEB;
  586.     {$ENDC}
  587. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: UInt32; VAR newID: AVIDType): OSErr;
  588.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  589.     INLINE $303C, $082E, $ABEB;
  590.     {$ENDC}
  591. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  592.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  593.     INLINE $303C, $082F, $ABEB;
  594.     {$ENDC}
  595. {$IFC NOT FOR_68kGLUE_LIB }
  596. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  597.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  598.     INLINE $303C, $0830, $ABEB;
  599.     {$ENDC}
  600. {$ENDC}
  601.  
  602. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  603.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  604.     INLINE $303C, $0231, $ABEB;
  605.     {$ENDC}
  606. FUNCTION DMSaveScreenPrefs(reserved1: UInt32; saveFlags: UInt32; reserved2: UInt32): OSErr;
  607.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  608.     INLINE $303C, $0632, $ABEB;
  609.     {$ENDC}
  610. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: UInt32; VAR newID: DisplayIDType): OSErr;
  611.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  612.     INLINE $303C, $0833, $ABEB;
  613.     {$ENDC}
  614. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: UInt32; reserved: UInt32; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  615.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  616.     INLINE $303C, $0C34, $ABEB;
  617.     {$ENDC}
  618. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  619.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  620.     INLINE $303C, $0835, $ABEB;
  621.     {$ENDC}
  622. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: UInt32; reserved: UInt32; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  623.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  624.     INLINE $303C, $0A36, $ABEB;
  625.     {$ENDC}
  626. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: UInt32; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  627.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  628.     INLINE $303C, $0A37, $ABEB;
  629.     {$ENDC}
  630. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  631.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  632.     INLINE $303C, $0838, $ABEB;
  633.     {$ENDC}
  634. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: UInt32): OSErr;
  635.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  636.     INLINE $303C, $0839, $ABEB;
  637.     {$ENDC}
  638. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: UInt32; displayState: Handle): OSErr;
  639.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  640.     INLINE $303C, $083A, $ABEB;
  641.     {$ENDC}
  642. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  643.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  644.     INLINE $303C, $043B, $ABEB;
  645.     {$ENDC}
  646. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  647.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  648.     INLINE $303C, $063C, $ABEB;
  649.     {$ENDC}
  650. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  651.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  652.     INLINE $303C, $053D, $ABEB;
  653.     {$ENDC}
  654. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  655.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  656.     INLINE $303C, $043E, $ABEB;
  657.     {$ENDC}
  658. FUNCTION DMConfirmConfiguration(filterProc: ModalFilterUPP; confirmFlags: UInt32; reserved: UInt32; displayState: Handle): OSErr;
  659.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  660.     INLINE $303C, $083F, $ABEB;
  661.     {$ENDC}
  662.  
  663. {$ALIGN RESET}
  664. {$POP}
  665.  
  666. {$SETC UsingIncludes := DisplaysIncludes}
  667.  
  668. {$ENDC} {__DISPLAYS__}
  669.  
  670. {$IFC NOT UsingIncludes}
  671.  END.
  672. {$ENDC}
  673.